#include <iostream>
#include <vector>
#include <unordered_set>

using namespace std;

//https://www.nowcoder.com/practice/b56799ebfd684fb394bd315e89324fb4?tpId=196&tqId=37149&ru=/exam/oj

//class Solution
//{
//public:
//    int maxLength(vector<int>& arr)
//    {
//        int n = arr.size();
//        unordered_set<int> s;
//
//        int ret = 0;
//        for (int left = 0, right = 0; right < n; right++)
//        {
//            if (s.count(arr[right]))
//            {
//                while (arr[left] != arr[right])
//                {
//                    s.erase(arr[left]);
//                    left++;
//                }
//                left++;
//            }
//            else
//            {
//                s.insert(arr[right]);
//            }
//            ret = max(ret, right - left + 1);
//        }
//
//        return ret;
//    }
//};

class Solution
{
    int hash[100010] = { 0 };
public:
    

    int maxLength(vector<int>& arr)
    {
        int left = 0, right = 0, n = arr.size();
        int ret = 0;

        while (right < 0)
        {
            hash[arr[right]]++;
            while (hash[arr[right]] > 1)
            {
                hash[arr[left]]--;
                left++;
            }
            ret = max(ret, right - left + 1);
            right++;
        }

        return ret;
    }
};


int main()
{
    return 0;
}